/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * Reporte_compras_productos.java
 *
 * Created on 14/06/2009, 11:59:10 PM
 */

package Ventas;

import Compras.*;
import java.util.Calendar;
import Control.Conexion;
import javax.swing.JOptionPane;
import java.util.Date;

/**
 *
 * @author GAMA
 */
public class Reporte_ventas_productos extends javax.swing.JPanel {
        Date d1=new Date();
        Date d2=new Date();
    /** Creates new form Reporte_compras_productos */
    public Reporte_ventas_productos() {
        initComponents();
        Date aux=new Date();
        aux.setTime(System.currentTimeMillis());

        d1.setDate(aux.getDate());
        d1.setMonth(aux.getMonth());
        d1.setYear(aux.getYear());
        d1.setHours(23);
        d1.setMinutes(59);



        d2.setDate(1);
        d2.setMonth(0);
        d2.setYear(109);
        jdcfecha_iniciov.setMaxSelectableDate(d1);
        jdcfecha_iniciov.setMinSelectableDate(d2);
        jdcfecha_finv.setMaxSelectableDate(d1);
        jdcfecha_finv.setMinSelectableDate(d2);
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        pnlGenerar_reporte = new javax.swing.JPanel();
        jLabel1 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jButton1 = new javax.swing.JButton();
        jdcfecha_iniciov = new com.toedter.calendar.JDateChooser();
        jdcfecha_finv = new com.toedter.calendar.JDateChooser();
        jLabel4 = new javax.swing.JLabel();
        jLabel5 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();

        setLayout(null);

        pnlGenerar_reporte.setBorder(javax.swing.BorderFactory.createTitledBorder("Generar Reporte"));
        pnlGenerar_reporte.setLayout(null);

        jLabel1.setText("Fecha inicio:");
        pnlGenerar_reporte.add(jLabel1);
        jLabel1.setBounds(50, 40, 70, 14);

        jLabel3.setText("Fecha fin:");
        pnlGenerar_reporte.add(jLabel3);
        jLabel3.setBounds(60, 80, 60, 14);

        jButton1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/Generar_run16.gif"))); // NOI18N
        jButton1.setMnemonic('g');
        jButton1.setText("Generar");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });
        pnlGenerar_reporte.add(jButton1);
        jButton1.setBounds(130, 120, 120, 25);
        pnlGenerar_reporte.add(jdcfecha_iniciov);
        jdcfecha_iniciov.setBounds(130, 40, 150, 20);
        pnlGenerar_reporte.add(jdcfecha_finv);
        jdcfecha_finv.setBounds(130, 80, 150, 20);

        jLabel4.setText("(dd/mm/aaaa)");
        pnlGenerar_reporte.add(jLabel4);
        jLabel4.setBounds(290, 40, 80, 20);

        jLabel5.setText("(dd/mm/aaaa)");
        pnlGenerar_reporte.add(jLabel5);
        jLabel5.setBounds(290, 80, 80, 20);

        add(pnlGenerar_reporte);
        pnlGenerar_reporte.setBounds(170, 120, 410, 180);

        jLabel2.setFont(new java.awt.Font("Arial", 0, 20));
        jLabel2.setForeground(new java.awt.Color(0, 102, 204));
        jLabel2.setText("REPORTE DE VENTAS");
        add(jLabel2);
        jLabel2.setBounds(260, 60, 260, 30);
    }// </editor-fold>//GEN-END:initComponents

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
        // TODO add your handling code here:

        generar_reporte_ventas();
    }//GEN-LAST:event_jButton1ActionPerformed

public void generar_reporte_ventas(){
        String fecha_inicio="";
        String fecha_fin="";
        boolean pase=false;
        String dia_ini="", mes_ini="",anio_ini="",dia_fin="",mes_fin="",anio_fin="";
        try{
         dia_ini=Integer.toString(jdcfecha_iniciov.getCalendar().get(Calendar.DATE));
         mes_ini=Integer.toString(jdcfecha_iniciov.getCalendar().get(Calendar.MONTH)+1);
         anio_ini=Integer.toString(jdcfecha_iniciov.getCalendar().get(Calendar.YEAR));
        fecha_inicio=anio_ini+"-"+mes_ini+"-"+dia_ini;
         dia_fin=Integer.toString(jdcfecha_finv.getCalendar().get(Calendar.DATE));
         mes_fin=Integer.toString(jdcfecha_finv.getCalendar().get(Calendar.MONTH)+1);
         anio_fin=Integer.toString(jdcfecha_finv.getCalendar().get(Calendar.YEAR));
        fecha_fin=anio_fin+"-"+mes_fin+"-"+dia_fin;
         pase=true;
        
        }catch(Exception e){
         JOptionPane.showMessageDialog(this,"Formato de fecha no válido","Error",JOptionPane.ERROR_MESSAGE);
        }
                if(pase){
            boolean admitido=true;
            if(jdcfecha_iniciov.getDate().getTime()<d2.getTime()){
                 JOptionPane.showMessageDialog(this,"No se permite el ingreso de fechas anteriores al año 2009","Información",JOptionPane.WARNING_MESSAGE);
                 admitido=false;
            }else{
                if(jdcfecha_iniciov.getDate().getTime()>d1.getTime()){
                 JOptionPane.showMessageDialog(this,"No se permite el ingreso de fechas posteriores a la fecha actual","Información",JOptionPane.WARNING_MESSAGE);
                 admitido=false;
                }
            }
             if(jdcfecha_finv.getDate().getTime()<d2.getTime()){
                 JOptionPane.showMessageDialog(this,"No se permite el ingreso de fechas anteriores al año 2009","Información",JOptionPane.WARNING_MESSAGE);
                 admitido=false;
            }else{
                if(jdcfecha_finv.getDate().getTime()>d1.getTime()){
                 JOptionPane.showMessageDialog(this,"No se permite el ingreso de fechas posteriores a la fecha actual","Información",JOptionPane.WARNING_MESSAGE);
                 admitido=false;
                }
            }
            if(jdcfecha_iniciov.getDate().getTime()>jdcfecha_finv.getDate().getTime()){
                JOptionPane.showMessageDialog(this,"La fecha inicio no debe ser mayor a la fecha fin","Información",JOptionPane.WARNING_MESSAGE);
                admitido=false;
            }

            if(admitido){
                Conexion c=new Conexion();
                c.reporte_ventas_productos(fecha_inicio, fecha_fin);
            }

        }

    }
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton jButton1;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private com.toedter.calendar.JDateChooser jdcfecha_finv;
    private com.toedter.calendar.JDateChooser jdcfecha_iniciov;
    private javax.swing.JPanel pnlGenerar_reporte;
    // End of variables declaration//GEN-END:variables

}
